﻿using System;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;

namespace NP.BPMReportPlatform.ExternalProcessingRecord.Dto
{
    [ExcelExporter(Name = "流程报表", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetExternalProcessingRecordOutput
    {
        /// <summary>
        /// 流程状态
        /// </summary>
        [ExporterHeader(DisplayName = "流程状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 单据号
        /// </summary>
        [ExporterHeader(DisplayName = "流程编号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public DateTime? ProcessStartTime { get; set; }

        /// <summary>
        /// 申请人
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string ProcessStartUserName { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }


        /// <summary>
        /// 工厂
        /// </summary>
        [ExporterHeader(DisplayName = "工厂")]
        public string Factory { get; set; }


        /// <summary>
        /// 业务员
        /// </summary>
        [ExporterHeader(DisplayName = "业务员")]
        public string Salesman { get; set; }

        /// <summary>
        /// 客户
        /// </summary>
        [ExporterHeader(DisplayName = "客户")]
        public string Customer { get; set; }

        /// <summary>
        /// 已输入物料
        /// </summary>
        [ExporterHeader(DisplayName = "已输入物料")]
        public string EnterMaterial { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        [ExporterHeader(DisplayName = "产品名称")]
        public string ProductName { get; set; }

        /// <summary>
        /// 订单量
        /// </summary>
        [ExporterHeader(DisplayName = "订单量")]
        public string OrderVolume { get; set; }

        /// <summary>
        /// 下单日期
        /// </summary>
        [ExporterHeader(DisplayName = "下单日期")]
        public DateTime? OrderDate { get; set; }

        /// <summary>
        /// 请求交货日期
        /// </summary>
        [ExporterHeader(DisplayName = "请求交货日期")]
        public DateTime? RequestedDeliveryDate { get; set; }

        /// <summary>
        /// 转单原因分类
        /// </summary>
        [ExporterHeader(DisplayName = "转单原因分类")]
        public string TransferClassificationReason { get; set; }

        /// <summary>
        /// 具体原因
        /// </summary>
        [ExporterHeader(DisplayName = "具体原因")]
        public string SpecificReason { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [ExporterHeader(DisplayName = "备注")]
        public string Remark { get; set; }
    }
}